package com.cx.mall.generator;

import com.baomidou.mybatisplus.generator.FastAutoGenerator;

public class CodeGenerator {
    public static void main(String[] args) {
        // 使用 FastAutoGenerator 快速配置代码生成器,注意修改数据库的 URL

        FastAutoGenerator.create("jdbc:mysql://127.0.0.1:3306/shop_order?serverTimezone=Asia/Shanghai","root", "root")
                        // 全局配置
                        .globalConfig(builder -> {
                            builder.author("zhao") // 设置作者
                                    .disableOpenDir() // 禁止打开输出目录
                                    .outputDir("mall-order/src/main/java"); // 输出目录，不同

                        })
                        // 包配置
                        .packageConfig(builder ->
                                builder.parent("com.cx.mall.order") // 设置父包名
                                        .entity("entity") // 设置实体类包名
                                        .mapper("mapper") // 设置 Mapper 接口包名
                                        .service("service") // 设置 Service 接口包名
                                        .serviceImpl("service.impl")//设置 Service 实现类包名
                                        .xml("mappers") )
                         .strategyConfig(builder ->{
                                   builder.addInclude("order_detail","order_info") //设置需要生成
                                                    //.addTablePrefix("t_") // 设置过滤表前
                                                    .entityBuilder()
                                                    .enableLombok()// 启用 Lombok
                                                    .enableTableFieldAnnotation() // 启用字段注解
                                                    .controllerBuilder()
                                                    .enableRestStyle() // 启用 REST 风格
                                                    .serviceBuilder()
                                                    .mapperBuilder();
                                        })
                                        .execute();} }// 执行生成
